package com.linx.notice.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.linx.common.core.domain.dto.OssDTO;
import com.linx.common.translation.annotation.Translation;
import com.linx.common.translation.constant.TransConstant;
import com.linx.notice.domain.InfoRealeaseDraft;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 信息发布草稿箱视图对象 info_realease_draft
 *
 * @author 泽智科技
 * @date 2024-10-21
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = InfoRealeaseDraft.class)
public class InfoRealeaseDraftVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long infoRealeaseDraftId;

    /**
     * 标题
     */
    @ExcelProperty(value = "标题")
    private String infoTitle;

    /**
     * 分类
     */
    @ExcelProperty(value = "分类")
    private Long infoTypeId;

    /**
     * 发布范围
     */
    @ExcelProperty(value = "发布范围")
    private Long infoScopeId;

    /**
     * 发布时间类型 1 立即发生 2 定时发送
     */
    @ExcelProperty(value = "发布时间类型 1 立即发生 2 定时发送")
    private String releaseType;

    /**
     * 发布时间
     */
    @ExcelProperty(value = "发布时间")
    private Date releaseTime;

    /**
     * 信息头图
     */
    @ExcelProperty(value = "信息头图")
    private String infoHeaderPicUrl;

    /**
     *
     */
    @ExcelProperty(value = "")
    private String infoContent;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    private Long createBy;

    /**
     * 创建人账号
     */
    @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy")
    @ExcelProperty(value = "创建人账号")
    private String createByName;

    @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss")
    private Date updateTime;

    private List<OssDTO> ossDTOList;
}
